-
Notifications
You must be signed in to change notification settings - Fork 381
Log timeouts when DP responds with timedout #1091
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
I haven't looked closely but it looks like this impl would require adding generics for the runtime API client and other breaking changes? Customers are unlikely to name them but we probably still can't do break that API... Probably we need to cut over to a new type and deprecate the old? What are you thinking? |
|
Adding a non-constrained generic shouldn't be a problem, and it is pretty beneficial in this scenario. I guess the alternative is injecting a client that communicates over channels. I am not sure. Maybe there's a different way to test this that I am just missing. |
Big ++ to this - some sort of
Not a problem, but it is semver breaking, in case anybody names the type. (They are unlikely to, but still). Along similar lines, we are adding a new variant to I don't think it's a big deal, these are unlikely to be used by end user code, but we probably should play by the rules and add new names for these and deprecate the old? Anyway if we cut over all of our other crates relying on these types, end user churn would be minimal. |
|
I would say
The same is for
So cx cannot infer the breaking enum even through the struct using it. In this case there's not much sense also in putting also the non_exhaustive |
|
@FullyTyped I'll have a look at this stuff and try to make it prod-ready. |
Looking through, I think that you're right! It doesn't seem to be exposed as an unnameable type either (ie, using a public type in a private module, but that shows up in a public api). For that, we still might have a problem, since you can still match on it via field accessor syntax. Can we just move both to |
📬 Issue #, if available:
✍️ Description of changes:
In concurrent execution, when the runtime times-out, Dataplane will not stop the execution, but instead will inform the runtime through the trailers that we've timed-out when we respond. This PR intends to consume the trailers to ensure that in those scenarios the runtime correctly logs.
🔏 By submitting this pull request
cargo +nightly fmt.cargo clippy --fix.